package account.common;

import javax.validation.ValidationException;

@FunctionalInterface
public interface TextParser<Model> {
    /**
     * 解析文本
     *
     * @param textInput 待解析的输入文本, 可以是String或字符数组
     * @return 解析后的模型
     */
    Model parse(CharSequence textInput) throws TextParserError;

    /**
     * 定义文本解析错误, 间接继承自入参校验异常
     */
    class TextParserError extends ValidationException {
        public TextParserError(String message) {
            super(message);
        }
    }
}
